类 Map
- java.lang.Object
-
- com.supermap.mapping.Map
-
public class Map extends java.lang.Object
地图类,负责地图显示环境的管理。
地图是对地理数据的可视化,通常由一个或多个图层组成。一个地图对象通常通过其图层集合对象 Layers 来管理其中的所有图层,并且地图必须与一个工作空间相关联,以便来显示该工作空间中的数据。另外,对地图的显示方式的设置将对其中的所有图层起作用。该类提供了对地图的各种显示方式的返回和设置,如地图的显示范围,比例尺,坐标以及量度单位,坐标系统以及文本、点等图层的默认显示方式等,并提供了对地图进行的相关操作的方法,如地图的打开与关闭,缩放、平移与全幅显示,以及地图的输出等。
注意:
- 对于从工作空间获取的 Map,编辑之后,必须保存到工作空间的 Maps 中,否则对于 Map 的编辑不能够保存。
- 当用户使用该工作空间对象进行编程时,如果将 Workspace 与 MapControl 建立了关联,那么在进行对象的关闭时,一定需要注意关闭的顺序,如下:
- 关闭 Map 对象;
- 关闭 MapControl 对象;
- 关闭 Workspace 对象。
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 boolean
addLayersFromMap(java.lang.String strMapName, boolean useDynamicProjectionIfNeeded)
合并地图void
close()
关闭当前地图。Legend
createLegend()
设置图例 该图例支持显示点线面的填充符号,只设置填充颜色,如前景色、背景色,图例是不进行加载。void
dispose()
释放对象所占用的资源。double
getAngle()
返回当前地图的旋转角度。int
getARMapType()
获取ARMap不同类型GeoStyle
getBackgroundStyle()
返回当前地图的背景风格。Rectangle2D
getBounds()
返回当前地图的空间范围。Point2D
getCenter()
返回当前地图的显示范围的中心点。GeoRegion
getClipRegion()
获取用于地图裁剪的面MapColorMode
getColorMode()
获取地图的颜色模式Legend
getCreateLegend()
获取图例int
getCurrentPlayerTick()
返回当前地图播放显示的帧的序号java.lang.String
getCurrentTickEndTime()
当时态数据播放显示时,获取当前播放帧中止时间java.lang.String
getCurrentTickStartTime()
当时态数据播放显示时,获取当前播放帧起始时间java.util.Date
getDefaultMapEndTime()
遍历所有启用时间且可见的图层的时间字段,返回时间值的最大值作为时间线的终止时间java.util.Date
getDefaultMapStartTime()
遍历所有启用时间且可见的图层的时间字段,返回时间值的最小值作为时间线的起始时间java.lang.String
getDescription()
返回当前地图的描述信息。CoordSysTransMethod
getDynamicPrjTransMethond()
获取地图动态投影时所使用的投影算法,在不同椭球体时需要设置。CoordSysTransParameter
getDynamicPrjTransParameter()
获取地图动态投影时所使用的转换参数boolean
getHighDefinitionScale()
获取高清显示缩放比例int
getImageSizeHeight()
返回图片的高。int
getImageSizeWidth()
返回图片大小的宽度。boolean
getIsPOIOptimized()
是否优化POI显示Layers
getLayers()
返回当前地图所包含的图层集合对象。Legend
getLegend()
获取地图的图例控件Rectangle2D
getLockedViewBounds()
返回 MapControl 地图控件中锁定的地图可视范围。int
getMapDownLoadThreadNum()
获取网络下载线程数 需在添加或打开地图前调用double
getMapDPI()
获取地图显示的DPI。java.util.Date
getMapEndTime()
返回地图播放显示时态数据的时间线长度的终止时间值。MapLoadedListener
getMapLoadedListener()
获取用于接收地图加载完成的监听器。java.util.Date
getMapStartTime()
返回地图播放显示时态数据的时间线长度的起始时间值MapView
getMapView()
获取Map的地图控件double
getMaxScale()
返回地图的最大比例尺。int
getMaxVisibleVertex()
获取最大可见节点数量double
getMinScale()
返回地图的最小比例尺。TimeSpan
getMinTimeStep()
计算地图播放显示时态数据的默认时间步长间隔java.lang.String
getName()
返回当前地图的名称。MapOverlapDisplayedOptions
getOverlapDisplayedOptions()
获取或设置压盖选项。PrjCoordSys
getPrjCoordSys()
返回地图的投影坐标系统。double
getScale()
返回当前地图的显示比例尺。ScreenLayer
getScreenLayer()
获取地图的屏幕图层。double
getSlantAngle()
获取旋转角度java.lang.String
getTimeFormat()
时态数据播放显示时,如果设置窗口显示当前帧的时间范围,该接口可以返回显示时间的格式TimeSpan
getTimeStep()
返回播放时态数据的时间步长间隔TimeSpan
getTimeWindow()
返回播放时态数据的时间窗TrackingLayer
getTrackingLayer()
返回当前地图的跟踪图层。Rectangle2D
getUserEditBounds()
获取用户编辑范围。Rectangle2D
getViewBounds()
返回当前地图的可见范围,也称显示范围。double[]
getVisibleScales()
获取固定比例尺数组,即固定比例尺显示时,可显示的比例尺Workspace
getWorkspace()
返回当前地图所关联的工作空间。boolean
isAlphaOverlay()
判断叠加层是否透明boolean
isAntialias()
返回一个布尔值指定是否反走样地图。boolean
IsArmap()
是否为Ar地图boolean
IsClipRegionEnabled()
获取地图裁剪是否生效boolean
isDrawCADTextAsPOI()
获取CAD文本是否按照poi模式绘制boolean
isDrawTextAtLast()
设置标签是否最后绘制boolean
isDynamicProjection()
返回是否允许地图动态投影显示。boolean
isFullScreenDrawModel()
获取是否使用整屏绘制模式。boolean
isHighDefinitionMode()
获取影像地图是否是高清显示模式boolean
isHighPerformSymbolMode()
返回是否高性能符号渲染模式,根据对象数量和比例尺,对符号渲染进行过滤 需在添加或打开地图前调用boolean
isLayerHierarchic()
获取高清显示缩放比例boolean
isModified()
返回一个布尔值指定当前地图是否被修改了。boolean
isMVTTop()
返回MVT图层是否在最上层。boolean
isOverlapDisplayed()
获取或设置一个值,表示压盖时是否显示。boolean
isPaintBackground()
返回一个布尔值指定是否绘制地图背景。boolean
isShowTime()
返回时态数据播放显示时,窗口是否显示当前帧的时间范围的文本,true表示显示,false表示不显示boolean
isTimeEnable()
返回地图是否启用播放显示时态数据的功能boolean
isUseSystemDPI()
获取是否使用系统的DPI,当为false时setMapDPI才有效boolean
isUseTiandituSubdomain()
获取是否启用天地图子域服务boolean
isViewBoundsLocked()
返回一个布尔值,用于指定 MapControl 地图控件中是否锁定地图的可视范围。boolean
isVisibleScalesEnabled()
是否使用固定比例尺来显示地图Point
mapToPixel(Point2D point)
将地图中指定点的地图坐标转换为像素坐标。boolean
open(java.lang.String name)
打开指定名称的地图。DatasetImage
outputMapToDatasetImage(Datasource datasource, java.lang.String datasetName, double resolution, Rectangle2D bounds, EncodeType encodeType)
将当前地图以影像数据集的形式保存void
pan(double offsetX, double offsetY)
将地图平移指定的距离。Point2D
pixelToMap(Point point)
将地图中指定点的像素坐标转换为地图坐标。void
removePrjCoordSysTransListener(PrjCoordSysTranslatorListener listener)
删除自定义投影转换算法接口类boolean
save()
保存当前地图到工作空间boolean
save(java.lang.String mapName)
以指定名称保存当前地图,但不能与工作空间中现有地图重名boolean
saveAs(java.lang.String mapName)
将当前地图另存为指定名称的地图void
setAngle(double value)
设置当前地图的旋转角度。void
setAntialias(boolean value)
设置一个布尔值指定是否反走样地图。void
setARMapType(int value)
设置ARMap不同类型void
setBackgroundStyle(GeoStyle style)
设置当前地图的背景风格。void
setCenter(Point2D point)
设置当前地图的显示范围的中心点。void
setClipRegion(GeoRegion region)
设置用于地图裁剪的面void
setClipRegionEnabled(boolean value)
设置地图裁剪是否生效void
setColorMode(MapColorMode mapColorMode)
设置地图的颜色模式void
setCurrentPlayerTick(int currentTick)
设置当前地图播放显示的帧的序号void
setDescription(java.lang.String value)
设置当前地图的描述信息。void
setDrawCADTextAsPOI(boolean nDrawCADTextAsPOI)
设置CAD文本是否按照poi模式绘制void
setDrawTextAtLast(boolean value)
设置标签是否最后绘制void
setDynamicPrjTransMethond(CoordSysTransMethod transMethod)
设置动态投影时地理坐标系转换所使用的算法,不支持扩展算法,即:CoordSysTransMethod.MTH_EXTENTIONvoid
setDynamicPrjTransParameter(CoordSysTransParameter value)
设置地图动态投影时所使用的转换参数void
setDynamicProjection(boolean value)
设置是否允许地图动态投影显示。void
setDynamicProjection(boolean bDynamic, PrjCoordSys value)
设置地图是否动态投影显示,以及地图的投影坐标系void
setFullScreenDrawModel(boolean isFullScreen)
设置是否使用整屏绘制模式,该功能仅适用于内存显示引擎,OpenGL并不支持。void
setHighDefinitionMode(boolean isHighDefinitionMode)
设置影像地图高清显示模式 需在添加或打开地图前调用void
setHighDefinitionScale(float fScale)
设置高清显示缩放比例void
setHighPerformSymbolMode(boolean isHighPerformSymbolMode)
设置高性能符号渲染模式,根据对象数量和比例尺,对符号渲染进行过滤 需在添加或打开地图前调用void
setIsArmap(boolean isArmap)
设置为Ar地图void
setIsCadBatchRender(boolean bIsCadBatchRender)
设置CAD图层是否批量绘制模式void
setIsPOIOptimized(boolean bPOIOptimized)
是否优化POI显示void
setIsShowTime(boolean isShowTime)
设置时态数据播放显示时,窗口是否显示当前帧的时间范围的文本,true表示显示,false表示不显示void
setLayerHierarchic(boolean bHierarchic)
设置是否开启地图分层绘制模式。void
setLockedViewBounds(Rectangle2D rect)
设置地图控件中锁定的地图可视范围。void
setMapDownLoadThreadNum(int num)
设置网络下载线程数 需在添加或打开地图前调用void
setMapDPI(double dpi)
设置地图显示的dpi。void
setMapEndTime(java.util.Date endTime)
设置地图播放显示时态数据的时间线长度的终止时间值void
setMapLoadedListener(MapLoadedListener listener)
添加一个用于接收地图加载完成的监听器。void
setMapOperateListener(MapOperateListener listener)
添加一个用于接收地图打开、关闭事件的监听器。void
setMapStartTime(java.util.Date startTime)
设置地图播放显示时态数据的时间线长度的起始时间值void
setMaxScale(double value)
设置地图的最大显示比例尺。void
setMaxVisibleVertex(int value)
设置最大可见节点数量void
setMinScale(double value)
设置地图的最小显示比例尺。void
setModified(boolean value)
设置当前地图是否被修改了。void
setMVTTop(boolean MVTTop)
设置MVT图层是否在最上层。void
setOverlapDisplayed(boolean value)
获取或设置一个值,表示压盖时是否显示。void
setOverlapDisplayedOptions(MapOverlapDisplayedOptions value)
获取或设置压盖选项。void
setPaintBackground(boolean value)
设置一个布尔值指定是否绘制地图背景。void
setPrjCoordSys(PrjCoordSys value)
设置地图的投影坐标系统。void
setPrjCoordSysTransListener(PrjCoordSysTranslatorListener listener, PrjCoordSys srcPrjCoordSys, PrjCoordSys desPrjCoordSys)
设置自定义投影转换算法接口类void
setScale(double value)
设置当前地图的显示比例尺。void
setSlantAngle(double value)
设置旋转角度void
setTimeEnable(boolean bEnable)
设置地图是否启用播放显示时态数据的功能void
setTimeFormat(java.lang.String timeFormat)
时态数据播放显示时,如果设置窗口显示当前帧的时间范围,该接口可以设置显示时间的格式void
setTimeStep(TimeSpan timeStep)
设置播放时态数据的时间步长间隔void
setTimeWindow(TimeSpan timeWindow)
设置播放时态数据的时间窗void
setUserEditBounds(Rectangle2D rect)
设置用户编辑范围。void
setUseSystemDPI(boolean setMapDPI)
设置是否使用系统的DPI,当为false时setMapDPI才有效。void
setUseTiandituSubdomain(boolean value)
设置是否启用天地图子域服务void
setViewBounds(Rectangle2D rect)
设置当前地图的可见范围,也称显示范围。void
setViewBoundsLocked(boolean value)
设置一个布尔值指定 MapControl 地图控件中是否锁定地图的可视范围。void
setVisibleScales(double[] values)
设置固定比例尺数组,即固定比例尺显示时,可显示的比例尺void
setVisibleScalesEnabled(boolean value)
设置是否使用固定比例尺来显示地图void
setWorkspace(Workspace workspace)
设置当前地图所关联的工作空间。java.lang.String
toXML()
返回此地图对象的 XML 字符串形式的描述。void
viewEntire()
全幅显示此地图。void
zoom(double ratio)
将地图放大或缩小指定的比例。
-
-
-
构造器详细资料
-
Map
public Map()
构造一个新的地图对象。
-
Map
public Map(Workspace workspace)
构造一个新的地图对象,并将该地图对象关联到指定的工作空间。- 参数:
workspace
- 指定的工作空间。
-
-
方法详细资料
-
getName
public java.lang.String getName()
返回当前地图的名称。- 返回:
- 当前地图的名称。
- Default:
- 默认值为 UntitledMap。
-
getDescription
public java.lang.String getDescription()
返回当前地图的描述信息。- 返回:
- 当前地图的描述信息。
- Default:
- 默认值为一个空字符串。
-
addLayersFromMap
public boolean addLayersFromMap(java.lang.String strMapName, boolean useDynamicProjectionIfNeeded)
合并地图- 参数:
strMapName
- StringuseDynamicProjectionIfNeeded
- boolean- 返回:
- boolean
-
setDescription
public void setDescription(java.lang.String value)
设置当前地图的描述信息。- 参数:
value
- 指定当前地图的描述信息。
-
getAngle
public double getAngle()
返回当前地图的旋转角度。单位为度,精度到 0.1 度。逆时针方向为正方向,如果用户输入负值,地图则以顺时针方向旋转。- 返回:
- double 当前地图的旋转角度。
- Default:
- 默认值为 0 度,即不旋转
-
setAngle
public void setAngle(double value)
设置当前地图的旋转角度。单位为度,精度到 0.1 度。逆时针方向为正方向,如果用户输入负值,地图则以顺时针方向旋转。注意:设置地图旋转角度功能只在开启整屏绘制模式时支持.
- 参数:
value
- 指定当前地图的旋转角度。
-
getBackgroundStyle
public GeoStyle getBackgroundStyle()
返回当前地图的背景风格。- 返回:
- 当前地图的背景风格。
- Default:
- 默认值为 {FillBackColor=Color [A=255, R=255, G=255, B=255],FillForeColor=Color [A=255, R=255, G=255, B=255],FillGradientAngle=0,FillGradientMode=None,FillGradientOffsetRatioX=0,FillGradientOffsetRatioY=0,FillOpaqueRate=100,FillSymbolID=0,LineColor=Color [A=255, R=0, G=0, B=0],LineSymbolID=0,LineWidth=0.1,MarkerAngle=0,MarkerSize={Width=2.4,Height=-1},MarkerSymbolID=0}。
-
setBackgroundStyle
public void setBackgroundStyle(GeoStyle style)
设置当前地图的背景风格。- 参数:
style
- 指定当前地图的背景风格。
-
getBounds
public Rectangle2D getBounds()
返回当前地图的空间范围。地图的空间范围是其所显示的各数据集的范围的最小外接矩形,即包含各数据集范围的最小的矩形。当地图显示的数据集增加或删除时,其空间范围也会相应发生变化。- 返回:
- 当前地图的空间范围。
- Default:
- 默认值为 Rectangle2D(0,0,0,0)。
-
getViewBounds
public Rectangle2D getViewBounds()
返回当前地图的可见范围,也称显示范围。当前地图的可见范围除了可以通过setViewBounds()
方法来进行设置,还可以通过设置显示范围的中心点(Center)和显示比例尺(Scale)的方式来进行设置。- 返回:
- 当前地图的可见范围。
- Default:
- 默认值为 Rectangle2D(0,0,0,0)。
-
setViewBounds
public void setViewBounds(Rectangle2D rect)
设置当前地图的可见范围,也称显示范围。当前地图的可见范围除了可以通过setViewBounds()
方法来进行设置,还可以通过设置显示范围的中心点(Center)和显示比例尺(Scale)的方式来进行设置。- 参数:
rect
- 指定当前地图的可见范围。
-
getCenter
public Point2D getCenter()
返回当前地图的显示范围的中心点。- 返回:
- 当前地图的显示范围的中心点。
- Default:
- 默认值为 Point2D(0,0)。
-
setCenter
public void setCenter(Point2D point)
设置当前地图的显示范围的中心点。- 参数:
point
- 指定当前地图的显示范围的中心点。
-
isAntialias
public boolean isAntialias()
返回一个布尔值指定是否反走样地图。文本、线型被设置为反走样后,可以去除一些显示锯齿,使显示更加美观。如图分别为线型和文本反走样前和反走样后的效果对比。- 返回:
- 用一个布尔值指定是否反走样地图。
- Default:
- 默认值为 false,即默认地图显示时不反走样。
-
setAntialias
public void setAntialias(boolean value)
设置一个布尔值指定是否反走样地图。文本、线型被设置为反走样后,可以去除一些显示锯齿,使显示更加美观。如图分别为线型和文本反走样前和反走样后的效果对比。- 参数:
value
- 用一个布尔值指定是否反走样地图。
-
isModified
public boolean isModified()
返回一个布尔值指定当前地图是否被修改了。当地图的任何显示属性发生变化,或者其中的 layers 或 layer 对象发生变化,都认为该地图被修改。- 返回:
- 一个布尔值,用于指定当前地图是否被修改了。
- Default:
- 默认值为 false,即当前地图没有被修改。
-
setMapDPI
public void setMapDPI(double dpi)
设置地图显示的dpi。用户获取android 设备的DPI,可使用DisplayMetics中的densityDpi作为设备的DPI。当显示以EngineType.IMAGEPLUGINS方式打开的缓存文件时,请使用默认DPI。
- 参数:
dpi
- 地图显示的dpi。
-
getMapDPI
public double getMapDPI()
获取地图显示的DPI。- 返回:
- 地图显示的DPI。
-
setIsArmap
public void setIsArmap(boolean isArmap)
设置为Ar地图- 参数:
isArmap
- 是否为Ar地图
-
IsArmap
public boolean IsArmap()
是否为Ar地图- 返回:
- 返回是否为Ar地图
-
setUseSystemDPI
public void setUseSystemDPI(boolean setMapDPI)
设置是否使用系统的DPI,当为false时setMapDPI才有效。- 参数:
setMapDPI
- 是否使用系统的DPI。注意:不是所有的地图都可以使用自定义的DPI
-
isUseSystemDPI
public boolean isUseSystemDPI()
获取是否使用系统的DPI,当为false时setMapDPI才有效- 返回:
- 一个布尔值,指示是否使用系统的DPI,返回 true,表示使用系统的DPI。
-
setModified
public void setModified(boolean value)
设置当前地图是否被修改了。当地图的任何显示属性发生变化,或者其中的 layers 或 layer 对象发生变化,都认为该地图被修改。
- 参数:
value
- 当前地图是否被修改了
-
getImageSizeWidth
public int getImageSizeWidth()
返回图片大小的宽度。- 返回:
- 返回图片大小的宽度。
-
getImageSizeHeight
public int getImageSizeHeight()
返回图片的高。- 返回:
- 图片的高。
-
isViewBoundsLocked
public boolean isViewBoundsLocked()
返回一个布尔值,用于指定 MapControl 地图控件中是否锁定地图的可视范围。- 返回:
- 一个布尔值,用于指定此地图控件的可视范围是否锁定。
- Default:
- 默认值为 false,即地图控件的可视范围没有被锁定。
-
setViewBoundsLocked
public void setViewBoundsLocked(boolean value)
设置一个布尔值指定 MapControl 地图控件中是否锁定地图的可视范围。- 参数:
value
- 指定一个布尔值,用于指定此地图控件的可视范围是否锁定。
-
getLockedViewBounds
public Rectangle2D getLockedViewBounds()
返回 MapControl 地图控件中锁定的地图可视范围。当地图控件的可视范围被锁定后,则地图控件只显示指定的可视范围内的地图,其余的地图内容不显示。- 返回:
- 地图控件锁定的可视范围。
- Default:
- 默认值为 Rectangle2D(0,0,0,0)。
-
setLockedViewBounds
public void setLockedViewBounds(Rectangle2D rect)
设置地图控件中锁定的地图可视范围。当地图控件的可视范围被锁定后,则地图控件只显示指定的可视范围内的地图,其余的地图内容不显示。- 参数:
rect
- 指定地图控件锁定的可视范围。
-
isPaintBackground
public boolean isPaintBackground()
返回一个布尔值指定是否绘制地图背景。- 返回:
- 一个布尔值指定是否绘制地图背景。
- Default:
- 默认值为 true,即有绘制地图背景。
-
setPaintBackground
public void setPaintBackground(boolean value)
设置一个布尔值指定是否绘制地图背景。- 参数:
value
- 用一个布尔值,用于指定是否绘制地图背景。
-
mapToPixel
public Point mapToPixel(Point2D point)
将地图中指定点的地图坐标转换为像素坐标。 这个方法必须在设置 setImageSize(int width, int height) 方法之后才能正常工作。- 参数:
point
- 要转换坐标的指定点。- 返回:
- 指定点的像素坐标。
-
pixelToMap
public Point2D pixelToMap(Point point)
将地图中指定点的像素坐标转换为地图坐标。- 参数:
point
- 要转换坐标的指定点。- 返回:
- 指定点的地图坐标。
-
setMapOperateListener
public void setMapOperateListener(MapOperateListener listener)
添加一个用于接收地图打开、关闭事件的监听器。- 参数:
listener
- 一个用于接收地图打开、关闭事件的监听器。
-
setMapLoadedListener
public void setMapLoadedListener(MapLoadedListener listener)
添加一个用于接收地图加载完成的监听器。- 参数:
listener
- 一个用于接收地图加载完成的监听器。
-
getMapLoadedListener
public MapLoadedListener getMapLoadedListener()
获取用于接收地图加载完成的监听器。- 返回:
- 获取用于接收地图加载完成的监听器。
-
getScale
public double getScale()
返回当前地图的显示比例尺。- 返回:
- 当前地图的显示比例尺。
- Default:
- 默认值为0。
-
setScale
public void setScale(double value)
设置当前地图的显示比例尺。- 参数:
value
- 指定当前地图的显示比例尺。
-
getTrackingLayer
public TrackingLayer getTrackingLayer()
返回当前地图的跟踪图层。跟踪图层是覆盖在地图的其他图层之上的一个空白的透明的图层,详细信息请参见TrackingLayer
类。- 返回:
- 当前地图的跟踪图层。
- Default:
- 默认值为 TrackingLayer 的默认值。
-
isDynamicProjection
public boolean isDynamicProjection()
返回是否允许地图动态投影显示。地图动态投影显示是指如果当前地图窗口中地图的投影信息与数据源的投影信息不同,利用地图动态投影显示可以将当前地图的投影信息转换为数据源的投影信息。- 返回:
- 是否允许地图动态投影显示。
- Default:
- 默认值为 false。即不允许地图动态投影显示。
-
setDynamicProjection
public void setDynamicProjection(boolean value)
设置是否允许地图动态投影显示。地图动态投影显示是指如果当前地图窗口中地图的投影信息与数据源的投影信息不同,利用地图动态投影显示可以将当前地图的投影信息转换为数据源的投影信息。- 参数:
value
- 一个布尔值,用于指定是否允许地图动态投影显示。
-
getPrjCoordSys
public PrjCoordSys getPrjCoordSys()
返回地图的投影坐标系统。投影坐标系类请参见PrjCoordSys
。- 返回:
- 地图的投影坐标系统。
- Default:
- 默认值为 PrjCoordSys 的默认值。
-
setPrjCoordSys
public void setPrjCoordSys(PrjCoordSys value)
设置地图的投影坐标系统。投影坐标系类请参见PrjCoordSys
。- 参数:
value
- 地图的投影坐标系统。
-
getLayers
public Layers getLayers()
返回当前地图所包含的图层集合对象。地图的图层集合对象管理地图中的所有图层。- 返回:
- 当前地图所包含的图层集合对象。
- Default:
- 默认值为 Layers 对象的默认值。
-
getWorkspace
public Workspace getWorkspace()
返回当前地图所关联的工作空间。地图是对其所关联的工作空间中的数据的显示。- 返回:
- 当前地图所关联的工作空间。
- Default:
- 默认值为 null。即不能访问 Layers,不能出图,涉及到数据的操作都不可用,其他可用。
-
setWorkspace
public void setWorkspace(Workspace workspace)
设置当前地图所关联的工作空间。地图是对其所关联的工作空间中的数据的显示。- 参数:
workspace
- 指定当前地图所关联的工作空间。
-
open
public boolean open(java.lang.String name)
打开指定名称的地图。该指定名称为地图所关联的工作空间中的地图集合对象中的一个地图的名称,注意与地图的显示名称相区别。- 参数:
name
- 地图名称。- 返回:
- 打开成功则返回 true,否则返回 false。
-
close
public void close()
关闭当前地图。
-
zoom
public void zoom(double ratio)
将地图放大或缩小指定的比例。缩放之后地图的比例尺=原比例尺 *ratio,其中 ratio 必须为正数,当 ratio 为大于1时,地图被放大;当 ratio 小于1时,地图被缩小。- 参数:
ratio
- 缩放地图比例,此值不可以为负。
-
pan
public void pan(double offsetX, double offsetY)
将地图平移指定的距离。- 参数:
offsetX
- X 方向上的移动距离,单位为坐标单位。offsetY
- Y 方向上的移动距离,单位为坐标单位。
-
viewEntire
public void viewEntire()
全幅显示此地图。
-
dispose
public void dispose()
释放对象所占用的资源。调用该方法之后,此对象不再可用。
-
getMinScale
public double getMinScale()
返回地图的最小比例尺。- 返回:
- 返回地图的最小比例尺。
- Default:
- 默认值为 0,表示地图按照默认值可缩放到无穷远或无穷近。
-
getMaxScale
public double getMaxScale()
返回地图的最大比例尺。- 返回:
- 地图的最大比例尺。
- Default:
- 默认值为 0,表示地图按照默认值可缩放到无穷远或无穷近。
-
toXML
public java.lang.String toXML()
返回此地图对象的 XML 字符串形式的描述。任何地图都可以导出成 xml 字符串,而地图的 xml 字符串也可以导入成为一个地图来显示。地图的 xml 字符串中存储了关于地图及其图层的显示设置以及关联的数据信息等。此外,可以将地图的 xml 字符串保存成一个 xml 文件。
- 返回:
- 地图的 XML 形式的描述。
- Example:
- 以下代码示范了打开地图,并将地图导出为 XML 字符串形式的描述。
假设打开了一个工作空间
workspace
对象,工作空间中存在一幅地图。public void toAndFromXMLTest() { // 打开工作空间中的地图 Map map = new Map(workspace); map.open(workspace.getMaps().get(0)); // 将地图导出为 XML 字符串 String xml = map.toXML(); map.close(); //释放资源 map.dispose(); }
-
setFullScreenDrawModel
public void setFullScreenDrawModel(boolean isFullScreen)
设置是否使用整屏绘制模式,该功能仅适用于内存显示引擎,OpenGL并不支持。使用整屏绘制模式时,点、文字和普通图层同时显示。否则,点、和文字在底图绘制完毕后绘制。
- 参数:
isFullScreen
- 是否使用整屏绘制模式。
-
isFullScreenDrawModel
public boolean isFullScreenDrawModel()
获取是否使用整屏绘制模式。- 返回:
- 是否使用整屏绘制模式。
-
getScreenLayer
public ScreenLayer getScreenLayer()
获取地图的屏幕图层。- 返回:
- 地图的屏幕图层。
-
save
public boolean save() throws java.lang.Exception
保存当前地图到工作空间- 返回:
- 返回boolean类型,保存成功返回true;否则返回false。
1.若当前地图已经关闭,保存失败; 2.若当前地图没有绑定的工作空间,保存失败;
- 抛出:
java.lang.Exception
- 如果地图已关闭或对象已经释放等不可保存状态,将抛出异常- Example:
- 以下代码示范如何保存打开的地图;打开一个工作空间,打开一幅地图,保存当前地图 。
public void testSaveMap{ String rootPath = android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); MapControl mapControl = new MapControl(context); Map map = mapControl.getMap(); Workspace workspace = new Workspace(); WorkspaceConnectionInfo info = workspace.getConnectionInfo(); info.setType(WorkspaceType.SMWU); info.setServer(rootPath + "/SuperMap/data/World.smwu"); workspace.open(info); map.setWorkspace(workspace); String mapName = workspace.getMaps(0); map.open(mapName); …… map.save(); }
-
save
public boolean save(java.lang.String mapName) throws java.lang.Exception
以指定名称保存当前地图,但不能与工作空间中现有地图重名- 参数:
mapName
- 地图名称- 返回:
- 返回boolean类型,保存成功返回true;否则返回false。
- 抛出:
java.lang.Exception
- 如果地图已关闭或对象已经释放等不可保存状态,将抛出异常- Example:
- 以下代码示范如何以指定名称保存地图;打开一个工作空间,地图中添加一个图层,生成一幅新地图,保存当前地图 ,并给地图命名。
public void testSaveMap{ MapControl mapControl = new MapControl(context); Map map = mapControl.getMap(); String rootPath = android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); Workspace workspace = new Workspace(); WorkspaceConnectionInfo info = workspace.getConnectionInfo(); info.setType(WorkspaceType.SMWU); info.setServer(rootPath + "/SuperMap/data/World.smwu"); workspace.open(info); map.setWorkspace(workspace); Dataset dataset = workspace.getDatasources().get(0).getDatasets().get(0); map.getLayers.add(dataset, true); ....... String mapName = "Map_1"; map.save(mapName); }
-
saveAs
public boolean saveAs(java.lang.String mapName) throws java.lang.Exception
将当前地图另存为指定名称的地图- 参数:
mapName
- 地图名称,不能为null或空串("")。- 返回:
- 返回boolean类型,保存成功返回true;否则返回false。
1.若指定的地图名称为null或为空串(""),保存失败; 2.若当前地图已经关闭,保存失败; 3.若当前地图没有绑定的工作空间,保存失败;
- 抛出:
java.lang.Exception
- 如果地图已关闭或对象已经释放等不可保存状态,将抛出异常 * @example 以下代码示范如何将地图另存为;打开一个工作空间,打开一幅地图,将此地图另存为新地图。public void testSaveMap{ String rootPath = android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); MapControl mapControl = new MapControl(context); Map map = mapControl.getMap(); Workspace workspace = new Workspace(); WorkspaceConnectionInfo info = workspace.getConnectionInfo(); info.setType(WorkspaceType.SMWU); info.setServer(rootPath + "/SuperMap/data/World.smwu"); workspace.open(info); map.setWorkspace(workspace); String mapName = workspace.getMaps(0); map.open(mapName); ....... String mapName = "MyWorldMap"; map.saveAs(mapName); }
-
getLegend
public Legend getLegend()
获取地图的图例控件- 返回:
- 地图的图例控件
-
setUserEditBounds
public void setUserEditBounds(Rectangle2D rect)
设置用户编辑范围。- 参数:
rect
- 指定编辑范围。
-
getUserEditBounds
public Rectangle2D getUserEditBounds()
获取用户编辑范围。- 返回:
- 用户编辑范围。
-
setMinScale
public void setMinScale(double value)
设置地图的最小显示比例尺。- 参数:
value
- 地图的最小显示比例尺。
-
setMaxScale
public void setMaxScale(double value)
设置地图的最大显示比例尺。- 参数:
value
- 地图的最大显示比例尺。
-
isVisibleScalesEnabled
public boolean isVisibleScalesEnabled()
是否使用固定比例尺来显示地图- 返回:
- 返回是否使用固定比例尺来显示地图
-
setVisibleScalesEnabled
public void setVisibleScalesEnabled(boolean value)
设置是否使用固定比例尺来显示地图- 参数:
value
- 是否使用固定比例尺来显示地图
-
getVisibleScales
public double[] getVisibleScales()
获取固定比例尺数组,即固定比例尺显示时,可显示的比例尺- 返回:
- 返回取固定比例尺数组
-
setVisibleScales
public void setVisibleScales(double[] values)
设置固定比例尺数组,即固定比例尺显示时,可显示的比例尺- 参数:
values
- 固定比例尺数组
-
getColorMode
public MapColorMode getColorMode()
获取地图的颜色模式- 返回:
- 颜色模式
-
setColorMode
public void setColorMode(MapColorMode mapColorMode)
设置地图的颜色模式- 参数:
mapColorMode
- 颜色模式
-
setPrjCoordSysTransListener
public void setPrjCoordSysTransListener(PrjCoordSysTranslatorListener listener, PrjCoordSys srcPrjCoordSys, PrjCoordSys desPrjCoordSys)
设置自定义投影转换算法接口类- 参数:
listener
- 自定义投影转换算法接口类srcPrjCoordSys
- 源投影坐标系desPrjCoordSys
- 目标投影坐标系
-
removePrjCoordSysTransListener
public void removePrjCoordSysTransListener(PrjCoordSysTranslatorListener listener)
删除自定义投影转换算法接口类- 参数:
listener
- 自定义投影转换算法接口类
-
setDynamicProjection
public void setDynamicProjection(boolean bDynamic, PrjCoordSys value)
设置地图是否动态投影显示,以及地图的投影坐标系- 参数:
bDynamic
- 地图是否动态投影value
- 投影坐标系
-
getDynamicPrjTransMethond
public CoordSysTransMethod getDynamicPrjTransMethond()
获取地图动态投影时所使用的投影算法,在不同椭球体时需要设置。- 返回:
- 返回地理坐标系转换所使用的算法,默认值为:MTH_GEOCENTRIC_TRANSLATION
-
setDynamicPrjTransMethond
public void setDynamicPrjTransMethond(CoordSysTransMethod transMethod)
设置动态投影时地理坐标系转换所使用的算法,不支持扩展算法,即:CoordSysTransMethod.MTH_EXTENTION- 参数:
transMethod
- 地理坐标系转换所使用的算法
-
getDynamicPrjTransParameter
public CoordSysTransParameter getDynamicPrjTransParameter()
获取地图动态投影时所使用的转换参数- 返回:
- 返回投影转换参数,默认7个参数全为0
-
setDynamicPrjTransParameter
public void setDynamicPrjTransParameter(CoordSysTransParameter value)
设置地图动态投影时所使用的转换参数- 参数:
value
- 投影转换参数
-
outputMapToDatasetImage
public DatasetImage outputMapToDatasetImage(Datasource datasource, java.lang.String datasetName, double resolution, Rectangle2D bounds, EncodeType encodeType)
将当前地图以影像数据集的形式保存- 参数:
datasource
- 用于保存影像数据集的数据源datasetName
- 影像数据集的名称resolution
- 屏幕分辨率bounds
- 需要保存的地图范围encodeType
- 编码格式- 返回:
- 返回生成的影像数据集
-
setARMapType
public void setARMapType(int value)
设置ARMap不同类型- 参数:
value
- ARMap type 类型
-
getARMapType
public int getARMapType()
获取ARMap不同类型- 返回:
- ARMap不同类型
-
getOverlapDisplayedOptions
public MapOverlapDisplayedOptions getOverlapDisplayedOptions()
获取或设置压盖选项。- 返回:
- MapOverlapDisplayedOptions
-
setOverlapDisplayedOptions
public void setOverlapDisplayedOptions(MapOverlapDisplayedOptions value)
获取或设置压盖选项。- 参数:
value
- MapOverlapDisplayedOptions
-
isOverlapDisplayed
public boolean isOverlapDisplayed()
获取或设置一个值,表示压盖时是否显示。 这里的压盖,目前包含文本与文本压盖,统计图与统计图的压盖- 返回:
- boolean
-
setOverlapDisplayed
public void setOverlapDisplayed(boolean value)
获取或设置一个值,表示压盖时是否显示。 这里的压盖,目前包含文本与文本压盖,统计图与统计图的压盖- 参数:
value
- boolean
-
getMapView
public MapView getMapView()
获取Map的地图控件- 返回:
- MapView
-
createLegend
public Legend createLegend()
设置图例 该图例支持显示点线面的填充符号,只设置填充颜色,如前景色、背景色,图例是不进行加载。- 返回:
- 设置图例
-
getCreateLegend
public Legend getCreateLegend()
获取图例- 返回:
- 获取图例
-
setSlantAngle
public void setSlantAngle(double value)
设置旋转角度- 参数:
value
- 旋转角度
-
getSlantAngle
public double getSlantAngle()
获取旋转角度- 返回:
- 旋转角度
-
getIsPOIOptimized
public boolean getIsPOIOptimized()
是否优化POI显示- 返回:
- bool
-
setIsPOIOptimized
public void setIsPOIOptimized(boolean bPOIOptimized)
是否优化POI显示- 参数:
bPOIOptimized
- bool
-
setHighDefinitionMode
public void setHighDefinitionMode(boolean isHighDefinitionMode)
设置影像地图高清显示模式 需在添加或打开地图前调用- 参数:
isHighDefinitionMode
- bool
-
isHighDefinitionMode
public boolean isHighDefinitionMode()
获取影像地图是否是高清显示模式- 返回:
- bool
-
isTimeEnable
public boolean isTimeEnable()
返回地图是否启用播放显示时态数据的功能- 参数:
- -
- 返回:
-
setTimeEnable
public void setTimeEnable(boolean bEnable)
设置地图是否启用播放显示时态数据的功能- 参数:
- -
-
getTimeStep
public TimeSpan getTimeStep()
返回播放时态数据的时间步长间隔- 参数:
- -
- 返回:
-
setTimeStep
public void setTimeStep(TimeSpan timeStep)
设置播放时态数据的时间步长间隔- 参数:
- -
-
getTimeWindow
public TimeSpan getTimeWindow()
返回播放时态数据的时间窗- 参数:
- -
- 返回:
-
setTimeWindow
public void setTimeWindow(TimeSpan timeWindow)
设置播放时态数据的时间窗- 参数:
- -
-
getCurrentPlayerTick
public int getCurrentPlayerTick()
返回当前地图播放显示的帧的序号- 参数:
- -
- 返回:
-
setCurrentPlayerTick
public void setCurrentPlayerTick(int currentTick)
设置当前地图播放显示的帧的序号- 参数:
- -
-
getMapStartTime
public java.util.Date getMapStartTime()
返回地图播放显示时态数据的时间线长度的起始时间值- 参数:
- -
- 返回:
-
setMapStartTime
public void setMapStartTime(java.util.Date startTime)
设置地图播放显示时态数据的时间线长度的起始时间值- 参数:
- -
-
getMapEndTime
public java.util.Date getMapEndTime()
返回地图播放显示时态数据的时间线长度的终止时间值。- 参数:
- -
- 返回:
-
setMapEndTime
public void setMapEndTime(java.util.Date endTime)
设置地图播放显示时态数据的时间线长度的终止时间值- 参数:
- -
-
getDefaultMapStartTime
public java.util.Date getDefaultMapStartTime()
遍历所有启用时间且可见的图层的时间字段,返回时间值的最小值作为时间线的起始时间- 参数:
- -
- 返回:
-
getDefaultMapEndTime
public java.util.Date getDefaultMapEndTime()
遍历所有启用时间且可见的图层的时间字段,返回时间值的最大值作为时间线的终止时间- 参数:
- -
- 返回:
-
getMinTimeStep
public TimeSpan getMinTimeStep()
计算地图播放显示时态数据的默认时间步长间隔- 参数:
- -
- 返回:
-
getTimeFormat
public java.lang.String getTimeFormat()
时态数据播放显示时,如果设置窗口显示当前帧的时间范围,该接口可以返回显示时间的格式- 参数:
- -
- 返回:
-
setTimeFormat
public void setTimeFormat(java.lang.String timeFormat)
时态数据播放显示时,如果设置窗口显示当前帧的时间范围,该接口可以设置显示时间的格式- 参数:
- -
-
isShowTime
public boolean isShowTime()
返回时态数据播放显示时,窗口是否显示当前帧的时间范围的文本,true表示显示,false表示不显示- 参数:
- -
- 返回:
-
setIsShowTime
public void setIsShowTime(boolean isShowTime)
设置时态数据播放显示时,窗口是否显示当前帧的时间范围的文本,true表示显示,false表示不显示- 参数:
- -
-
getCurrentTickStartTime
public java.lang.String getCurrentTickStartTime()
当时态数据播放显示时,获取当前播放帧起始时间- 参数:
- -
- 返回:
-
getCurrentTickEndTime
public java.lang.String getCurrentTickEndTime()
当时态数据播放显示时,获取当前播放帧中止时间- 参数:
- -
- 返回:
-
setIsCadBatchRender
public void setIsCadBatchRender(boolean bIsCadBatchRender)
设置CAD图层是否批量绘制模式- 参数:
bIsCadBatchRender
-
-
getMaxVisibleVertex
public int getMaxVisibleVertex()
获取最大可见节点数量- 返回:
- 0
-
setMaxVisibleVertex
public void setMaxVisibleVertex(int value)
设置最大可见节点数量- 参数:
value
-
-
setDrawCADTextAsPOI
public void setDrawCADTextAsPOI(boolean nDrawCADTextAsPOI)
设置CAD文本是否按照poi模式绘制- 参数:
nDrawCADTextAsPOI
-
-
isDrawCADTextAsPOI
public boolean isDrawCADTextAsPOI()
获取CAD文本是否按照poi模式绘制- 返回:
-
setMapDownLoadThreadNum
public void setMapDownLoadThreadNum(int num)
设置网络下载线程数 需在添加或打开地图前调用- 参数:
num
- 线程数量,默认值5,最小为1,最大为10,如果超过10设置为10个线程
-
getMapDownLoadThreadNum
public int getMapDownLoadThreadNum()
获取网络下载线程数 需在添加或打开地图前调用- 返回:
-
setClipRegionEnabled
public void setClipRegionEnabled(boolean value)
设置地图裁剪是否生效- 参数:
value
-
-
IsClipRegionEnabled
public boolean IsClipRegionEnabled()
获取地图裁剪是否生效- 返回:
- 地图裁剪是否生效
-
setClipRegion
public void setClipRegion(GeoRegion region)
设置用于地图裁剪的面- 参数:
region
-
-
getClipRegion
public GeoRegion getClipRegion()
获取用于地图裁剪的面- 参数:
region
-
-
isAlphaOverlay
public boolean isAlphaOverlay()
判断叠加层是否透明
-
setLayerHierarchic
public void setLayerHierarchic(boolean bHierarchic)
设置是否开启地图分层绘制模式。 分层绘制:表示将图层中的栅格图层与矢量图层分离开独立绘制,即栅格矢量并行绘制, 有效解决大数据量时白图、网络底图响应慢时白图现象。- 参数:
bHierarchic
- 是否分层绘制
-
isLayerHierarchic
public boolean isLayerHierarchic()
获取高清显示缩放比例- 返回:
-
setDrawTextAtLast
public void setDrawTextAtLast(boolean value)
设置标签是否最后绘制
-
isDrawTextAtLast
public boolean isDrawTextAtLast()
设置标签是否最后绘制
-
setUseTiandituSubdomain
public void setUseTiandituSubdomain(boolean value)
设置是否启用天地图子域服务- 参数:
value
- 是否启用,默认为不启用
-
isUseTiandituSubdomain
public boolean isUseTiandituSubdomain()
获取是否启用天地图子域服务
-
setHighDefinitionScale
public void setHighDefinitionScale(float fScale)
设置高清显示缩放比例- 参数:
fScale
-
-
getHighDefinitionScale
public boolean getHighDefinitionScale()
获取高清显示缩放比例- 返回:
-
setHighPerformSymbolMode
public void setHighPerformSymbolMode(boolean isHighPerformSymbolMode)
设置高性能符号渲染模式,根据对象数量和比例尺,对符号渲染进行过滤 需在添加或打开地图前调用- 参数:
isHighPerformSymbolMode
-
-
isHighPerformSymbolMode
public boolean isHighPerformSymbolMode()
返回是否高性能符号渲染模式,根据对象数量和比例尺,对符号渲染进行过滤 需在添加或打开地图前调用
-
setMVTTop
public void setMVTTop(boolean MVTTop)
设置MVT图层是否在最上层。 MVT是独立于地图其他图层的一种特殊形式,只能位于地图最上层,或者地图最下层。 默认值true(注:该接口只改变图层显示顺序,未改变图层真实放置顺序)- 参数:
MVTTop
-
-
isMVTTop
public boolean isMVTTop()
返回MVT图层是否在最上层。默认值true
-
-